1. Field of the Invention
This invention relates to a system control processor interface for an IBM PC/AT type compatible personal computer which emulates an Intel type 8042 system control processor and a control circuit for minimizing the time required to access memory above one megabyte.
2. Description of the Prior Art
Newer PC/AT compatible personal computers utilizing either of Intel's microprocessors 80286, 80386 or 80486 as a central processing units (CPU) are designed to be software compatible with a PC/XT type compatible personal computer. The PC/XT machines utilize an Intel type 8088 microprocessor as a CPU which has only 20 address lines, A0-A19. Consequently, such microprocessors can only access memory up to one megabyte.
Intel 80286, 80386 or 80486 microprocessors have 24 address lines, A0-A23, which allow them to access memory up to sixteen megabytes. In order to be compatible with a type PC/XT software and also access memory above one megabyte, these microprocessors have two operating modes; a real mode and a protected mode.
In the real mode, the object code of these microprocessors is compatible with a PC/XT machine based software. In the protected mode, all addresses are relative and the microprocessor can access memory above the one megabyte boundary. Consequently, while in the protected mode, their object code is no longer compatible with a PC/XT machine.
Switching between modes is controlled by an A20 signal from a keyboard controller also known as a system control processor (SCP). However, since todays computers run much faster than their predecessors, there can be a problem with some programs that set the A20 signal. More specifically, known programs can write a command and data to set the A20 signal. After a predetermined time-out, the system continues executing under the assumption the A20 signal is correctly set. Because newer computers run much faster than some programs allow the time-out can expire before the A20 signal is actually set. This will cause the computer to run code out of the wrong memory space resulting in a hung system.
Another problem in many known PC/AT compatible personal computers is that the switching of the A20 signal is generally controlled by the SCP, generally an Intel-type 8042 microprocessor. The type 8042 microprocessor is slow relative to other microprocessors, such as an Intel 8051 microprocessor. For example, an Intel 8042 microprocessor has a 2.5 microsecond instruction time as opposed to a 1 microsecond instruction time for an Intel 8051. However, in order to be compatible with a PC/AT-bus any substitution of the SCP requires emulation of an Intel 8042.